14. 列表的原理

列表的原理

在前一部分,你看到了两张图,大概是这样的:

在第二个试验中,列表中有 700,000 个元素,执行成员测试花了多久?

SOLUTION: 10 毫秒

我们在 4 台电脑上重复了第二个试验,每台电脑的处理器都不一样。试验结果如下。

哪个 CPU 最快

SOLUTION: CPU 4

对所有 CPU 而言 ,以下哪些说法是正确的?

SOLUTION: 扫描含有 800,000 个元素的列表所需的时间,大约为扫描含有 400,000 个元素的列表所需时间的**两倍**。

有一个新的 CPU ,他的能力为:

对 100,000 个元素的列表执行成员测试仅需 0.1 毫秒!

假设该说法正确,那么处理器对 1,000,000 个元素的列表执行成员测试,需要多长时间?

SOLUTION: 约 1 毫秒

列表的工作原理

测试列表中的成员资格花费的时间随着列表的大小“线性缩放”。 这只意味着,如果你将列表大小加倍,则会增加测试成员资格所需的时间(平均值)。

当你了解更多关于编程和计算机科学的内容时,你可能会看到这种算法被描述为 “big O of N”,或者在数学上被描述为 \mathcal{O}(n) 。在该纳米学位中,我们不会深入讲解 算法分析

测试成员名单需要更长时间的原因与计算机在幕后进行的操作有关。 当你写下:

if -1 in my_list


计算机将依次遍历 my_list 中的每个元素,直到找到 -1 。 如果它在整个列表中没有找到 -1 ,那么成员资格测试的结果将是 False